package linker

import (
	"gitee.com/jack-wang2120/rvld/pkg/utils"
	"debug/elf"
)

type FileType = uint8

const (
	FileTypeUnknown FileType = iota//表示我们不认识的文件类型
	FileTypeEmpty   FileType = iota//表示空文件
	FileTypeObject  FileType = iota//表示object文件
)

func GetFileType(contents []byte)FileType{
	if len(contents) == 0{
		return FileTypeEmpty
	}
	if CheckElf(contents){
		et := elf.Type(utils.Read[uint16](contents[16:]))
		switch et{
		case elf.ET_REL:
			return FileTypeObject
		}
		return FileTypeUnknown
	}
	return FileTypeUnknown
}